package com.lxmes.sales.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lxmes.common.annotation.Excel;
import com.lxmes.common.core.domain.BaseEntity;

/**
 * 分装正式排产计划对象 nc_packaging_formal_scheduling_plan
 *
 * @author lx
 * @date 2023-04-11
 */
@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class NcPackagingFormalSchedulingPlan extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键编码 */
    private Long id;

    /** 公司代码 */
    @Excel(name = "公司代码")
    private String factoryCode;

    /** 公司名称 */
    @Excel(name = "公司名称")
    private String factoryName;

    /** 合同号 */
    @Excel(name = "合同号")
    private String contract;

    /** 订单号 */
    @Excel(name = "订单号")
    private String orderNo;

    /** 订单类型 */
    @Excel(name = "订单类型")
    private String orderType;

    /** 交货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交货日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date jhDate;

    /** 产品类型 */
    @Excel(name = "产品类型")
    private String proType;

    /** 成品编号 */
    @Excel(name = "成品编号")
    private String productNumber;

    /** 成品名称 */
    @Excel(name = "成品名称")
    private String productName;

    /** 总成编号 */
    @Excel(name = "总成编号")
    private String zcCode;

    /** 总成名称 */
    @Excel(name = "总成名称")
    private String assemblyName;

    /** 上级排产编号 */
    @Excel(name = "上级排产编号")
    private String parentProductionNumber;

    /** 预排产编号 */
    @Excel(name = "预排产编号")
    private String preProductionNumber;

    /** 预排产日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预排产日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date preProductionDate;

    /** 计划生产日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划生产日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date plannedProductionDate;

    /** 正式排产日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "正式排产日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date officialProductionDate;

    /** 订单数量 */
    @Excel(name = "订单数量")
    private Long orderNum;

    /** 预排产数量 */
    @Excel(name = "预排产数量")
    private Long preProductionQuantity;

    /** 未排产数量 */
    @Excel(name = "未排产数量")
    private Long unplannedQuantity;

    /** 正式排产数量 */
    @Excel(name = "正式排产数量")
    private Long normalProductionCount;

    /** 车间编码 */
    @Excel(name = "车间编码")
    private String cjCode;

    /** 车间名称 */
    @Excel(name = "车间名称")
    private String workshopName;

    /** 生产线代码 */
    @Excel(name = "生产线代码")
    private String lineId;

    /** 生产线名称 */
    @Excel(name = "生产线名称")
    private String lineName;

    /** 工位代码 */
    @Excel(name = "工位代码")
    private String gwCode;

    /** 工位名称 */
    @Excel(name = "工位名称")
    private String gwName;

    @Excel(name = "工位物料编码")
    private String gwItemCode;

    @Excel(name = "工位物料名称")
    private String gwItemName;

    @Excel(name = "单位")
    private String unit;

    @Excel(name = "单台用量")
    private Double dtyl;

    @Excel(name = "订单用量")
    private Double ddyl;

    /** 对应整车图号 */
    @Excel(name = "对应整车图号")
    private String dyZcNum;

    /** 计划上线时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划上线时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planOnlineTime;

    /** 计划下线时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划下线时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planOfflineTime;

    /** 配置 */
    @Excel(name = "配置")
    private String configuration;

    /** 排放标准 */
    @Excel(name = "排放标准")
    private String emiStand;

    /** 排量 */
    @Excel(name = "排量")
    private Long displacement;

    /** 额定功率 */
    @Excel(name = "额定功率")
    private Long ratedPower;

    /** 机型 */
    @Excel(name = "机型")
    private String machineType;

    private String isRead;


}
